1. Field of the Invention
The present invention relates generally to a channel coder and a channel coding method in a mobile communication system using multiple antennas for efficiently correcting errors in a channel at a receiver, and in particular, to an apparatus and method for error correction coding that helps detection and correction of errors in a channel with high reliability in a wireless communications system.
2. Description of the Related Art
In a mobile communication system, a transmitter adds a corresponding parity data stream to information data so that a receiver can receive the information data correctly. This coding technique can be implemented in different coders in the transmitter: a Reed-Solomon coder, a convolutional coder, a turbo coder, and a concatenated Reed-Solomon and convolutional coder. The concatenated coder comprises two constituent coders and an interleaver that connects them.
FIG. 1 is a block diagram of a typical turbo coder. Referring to FIG. 1, the turbo coder includes a first constituent coder 100, a turbo interleaver 102, a second constituent coder 104, and a multiplexer (MUX) 106. In operation, an input frame data stream is simply output to the MUX 106 and fed to both the first constituent coder 100 and the turbo interleaver 102. The first constituent coder 100 codes the frame data stream and the turbo interleaver 102 interleaves it. The second constituent coder 104 encodes the interleaved data. The MUX 106 multiplexes the input frame data stream and the data received from the first and second constituent coders 100 and 104. Here, the turbo interleaver 102 permutes the sequence of the information bits of the frame data stream and generates interleaver addresses according to its interleaver size. This turbo interleaver 102 functions to maximize turbo coding performance.
As illustrated in FIG. 1, for the input of one input frame data stream, the turbo coder with a code rate of ⅓ outputs three frame data streams, which are the input frame data stream and two parity frame data streams for correcting the input frame data stream.
If received frame data streams have a full rank, excellent error correction performance can be achieved at a receiver. Hereinbelow, rank will first be described.
Let the input frame data stream be [1 1 0] and the turbo coder output be
         (                            1                          1                          0                                      1                          0                          1                                      0                          1                          1                      )  
That is, the first constituent coder 100 outputs [1 0 1] and the second constituent coder 104 outputs [0 1 1]. A rank is determined using the sum of the other columns or the subtraction between the other columns excepting a particular column in the matrix. The third column of the above matrix can be represented as the sum of the first and second columns. Excepting the third column, there remain two columns. Thus the rank of the output frame data stream is 2. A full rank is defined where it is impossible to represent a particular column as the sum of the other columns or the subtraction between the other columns. A full-rank model is given below.                output frame data stream:        
         (                            1                          1                          1                                      1                          0                          1                                      0                          1                          1                      )  
When coding using binary codes, the output frame data stream is generally of a full rank. However, it is not of a full rank if non-binary codes are used. That is, a non-binary coder, which repeats an input frame data stream a predetermined number of times, outputs a frame data stream in a matrix where a particular column can be represented as the sum of the other columns or the difference between the other columns. Thus, it is difficult to recover the original frame data stream using the received frame data stream at the receiver. Accordingly, there is a need for a full-rank error correction coder using non-binary codes.